const path = require('path')
const CompressionPlugin = require('compression-webpack-plugin')

function resolve(dir) {
  return path.join(__dirname, dir)
}

module.exports = {

  publicPath: process.env.NODE_ENV === 'production' ? '/' : '/',
  outputDir: 'dist',
  assetsDir: 'static',
  lintOnSave: true,
  productionSourceMap: false,
  devServer: {
    hot: true,
    port: 80,
    open: true,
    proxy: {
      '/sign': { // 匹配所有以'/api1' 开头的请求路径
        // process.env.VUE_APP_API_BASE_URL
        // target: 'https://login.cmjy.sh.cn/',
        target: 'http://192.168.15.35:9527',
        // target: 'http://10.176.1.11:9527',
        // target: 'http://localhost:90',
        changeOrigin: true,
        pathRewrite: {'^/sign': '/sign'}
      }
      // ,
      // '/api2': { // 匹配所有以'/api2' 开头的请求路径
      //   target: 'http://localhost:5001',// 代理目标的基础路径
      //   changeOrigin: true,
      //   pathRewrite: {'^/api2':''}
      // },
    }
  },
  chainWebpack(config) {
    if (process.env.NODE_ENV === 'production') {
      config.plugin('compressionPlugin')
        .use(new CompressionPlugin({
          filename: '[path].gz[query]',
          algorithm: 'gzip',
          test: /\.js$|\.html$|.\css/,
          threshold: 10240,
          deleteOriginalAssets: false
        }))
    }
    config.module
      .rule('svg')
      .exclude.add(resolve('src/icons'))
      .end()
    config.module
      .rule('icons')
      .test(/\.svg$/)
      .include.add(resolve('src/icons'))
      .end()
      .use('svg-sprite-loader')
      .loader('svg-sprite-loader')
      .options({
        symbolId: 'icon-[name]'
      })
      .end()
  }
}
